home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / ip / manage / snmp / kip / doc / stackdump < prev    next >
Encoding:
Internet Message Format  |  1989-01-17  |  5.8 KB

  1. Return-Path: <normac!tim@russell.stanford.edu>
  2. Received: from russell.stanford.edu by safe.stanford.edu with Sendmail; Thu, 16 Oct 86 23:28:39 pdt
  3. Received: by russell.stanford.edu with Sendmail; Thu, 16 Oct 86 23:36:38 pdt
  4. Date: Thu, 16 Oct 86 23:36:38 pdt
  5. From: normac!tim@russell.stanford.edu
  6. To: croft@russell.stanford.edu
  7. Subject: stack packets explained
  8. Actual-Sender: Tim McCreery
  9.  
  10. Bill-
  11. Sorry it took me so long to send you this. I looked around but either
  12. I can't find what I had done previously or else I deleted it: probably
  13. the latter in a space-saving move.
  14.  
  15. Here is a typical continuously dumping stack packet:
  16.  
  17. [B ] S: 220 D: 255 T: 679        dT: 679        (0001)  L: 64
  18.      FF DC 4B 00 3D 44 73 74 6B 00 00 05 1A 00 06 ED       ..K.=Dstk.......
  19.      A0 20 00 00 00 03 08 00 06 EB AA 4E B9 00 00 04       . .........N....
  20.      F2 4E B9 00 00 04 F2 4E B9 00 00 04 F2 4E B9 00       .N.....N.....N..
  21.      00 04 F2 4E B9 00 00 04 F2 4E B9 00 00 04 F2 4E       ...N.....N.....N
  22.  
  23. Here are the details:
  24.  
  25. FF   DC   4B | 00   3D | 44 | 73   74   6B | 00   00   05   1A | 00   06   ED
  26. <--- 01 ----> <- 02 --> <03> <---- 04 ----> <------ 05 -------> <------ 06 --
  27.  
  28. A0 | 20   00 | 00   00   03   08 | 00   06   EB   AA | 4E   B9 | 00   00   04
  29. --> <- 07 --> <------ 08 -------> <------ 09 -------> <- 10 --> <------ 11 --
  30.  
  31. F2 | 4E   B9 | 00   00   04   F2 | 4E   B9 | 00   00   04   F2 | 4E   B9 | 00
  32. --> <- 10 --> <------ 11 -------> <- 10 --> <------ 11 -------> <- 10 --> <--
  33.  
  34. 00   04   F2 | 4E   B9 | 00   00   04   F2 | 4E   B9 | 00   00   04   F2 | 4E
  35. - 11 -------> <- 10 --> <------ 11 -------> <- 10 --> <------ 11 -------> etc.
  36.  
  37. 01 - lap header: 0x4B = 'K' is Kinetics lap type.
  38. 02 - data count (plus DDP hop count if this was a long DDP).
  39. 03 - type of Kinetics lap packet: 0x44 = 'D' is the diagnostic type.
  40. 04 - ASCII "stk" for stack packet.
  41. ****
  42. All addresses that refer to PROM locations or RAM locations
  43. used by the PROM are dependent on the revision level of the PROM.
  44. The following addresses are based on the PROM known by the
  45. checksum 7E8B which should be all units now shipped and should
  46. include all units in the field which have been upgraded.
  47. ****
  48. 05 - 0x51A is first true stack address: from the PROM, this is
  49.      the return address after the call to the stack packet routine.
  50.      The call is from the routine "nultrap" which is the default
  51.      exception handler used for every type of exception/interrupt
  52.      except specifically the AppleTalk/8530 and the Ethernet chip
  53.      and whatever else might be specifically replaced.
  54. 06 - From the PROM, 0x6EDA0 is a return address in the exception vectors
  55.      after the "jsr nultrap" which is also used to indicate which
  56.      exception/interrupt occurred.
  57.      Here is the magic formula:
  58.         The vectors start at 0x6EC7A.
  59.         Each vector is 6 bytes, the length of the "jsr nultrap".
  60.         0x6EDA0 - 0x6EC7A = 0x126 = 294.
  61.         (294. - 6) / 6 = 48.
  62.      Exception vector 48. is the Ethernet interrupt service.
  63.      I have included a table at the end of this mail which tells all
  64.      in terms of which vectors are used for what.
  65. ***
  66. At this point, the remainder of the stack is interpreted
  67. according to type of exception that occurs. Consult the
  68. Motorola 68000 manual for details.
  69. ***
  70. 07 - 0x2000 is the processor status at the time of the Ethernet interrupt.
  71. 08 - 0x308 is the interrupted instruction location in the PROM. In this
  72.      case, it is during warm restart initialization, right after we have
  73.      lowered priority (and before we have set the real Ethernet ineterrupt
  74.      routine address into the vector).
  75. 09 - In the PROM's RAM area, 0x6EBAA is the address of a temporary scratch
  76.      area used for during various PROM routines.
  77. 10 - This turns out to be beyond the bottom of the stack which also happens
  78.      to be where the vectors begin. This is a "jsr" instruction.
  79. 11 - 0x4F2 is the address of the "nultrap" routine.
  80.  
  81.      Exception Table for PROM 7E8B
  82.      =====================================
  83.  
  84.     6EC8C    |  2: Bus error
  85.     6EC92    |  3: Address error
  86.     6EC98    |  4: Illegal instruction
  87.     6EC9E    |  5: Zero divide
  88.     6ECA4    |  6: CHK instruction
  89.     6ECAA    |  7: TRAPV instruction
  90.     6ECB0    |  8: Privilege violation
  91.     6ECB6    |  9: Trace
  92.     6ECBC    | 10: Line 1010 emulator
  93.     6ECC2    | 11: Line 1111 emulator
  94.     6ECC8    | 12: Unused
  95.     6ECCE    | 13: Unused
  96.     6ECD4    | 14: Unused
  97.     6ECDA    | 15: Unused
  98.     6ECE0    | 16: Level 2 dispatcher
  99.     6ECE6    | 17: Unused
  100.     6ECEC    | 18: Unused
  101.     6ECF2    | 19: Unused
  102.     6ECF8    | 20: Unused
  103.     6ECFE    | 21: Unused
  104.     6ED04    | 22: Unused
  105.     6ED0A    | 23: Unused
  106.     6ED10    | 24: Spurious Interrupt
  107.     6ED16    | 25: Level 1 Interrupt Autovector
  108.     6ED1C    | 26: Level 2 Interrupt Autovector
  109.     6ED22    | 27: Level 3 Interrupt Autovector
  110.     6ED28    | 28: Level 4 Interrupt Autovector
  111.     6ED2E    | 29: Level 5 Interrupt Autovector
  112.     6ED34    | 30: Level 6 Interrupt Autovector
  113.     6ED3A    | 31: Level 7 Interrupt Autovector
  114.     6ED40    | 32: TRAP 00 Instruction Vectors
  115.     6ED46    | 33: TRAP 01 Instruction Vectors
  116.     6ED4C    | 34: TRAP 02 Instruction Vectors
  117.     6ED52    | 35: TRAP 03 Instruction Vectors
  118.     6ED58    | 36: TRAP 04 Instruction Vectors
  119.     6ED5E    | 37: TRAP 05 Instruction Vectors
  120.     6ED64    | 38: TRAP 06 Instruction Vectors
  121.     6ED6A    | 39: TRAP 07 Instruction Vectors
  122.     6ED70    | 40: TRAP 08 Instruction Vectors
  123.     6ED76    | 41: TRAP 09 Instruction Vectors
  124.     6ED7C    | 42: TRAP 10 Instruction Vectors
  125.     6ED82    | 43: TRAP 11 Instruction Vectors
  126.     6ED88    | 44: TRAP 12 Instruction Vectors
  127.     6ED8E    | 45: TRAP 13 Instruction Vectors
  128.     6ED94    | 46: TRAP 14 Instruction Vectors
  129.     6ED9A    | 47: TRAP 15 Instruction Vectors
  130.     6EDA0    | 48: Ethernet service
  131.     6EDA6    | 49: Deadman timer service
  132.     6EDAC    | 50: Timeout service
  133.     6EDB2    | 51: Applebus service
  134.     6EDB8    | 52: Q-bus host service
  135.     6EDBE    | 53: Multibus host service
  136.     6EDC4    | 54: Unused
  137.     6EDCA    | 55: Unused
  138.     6EDD0    | 56: Unused
  139.     6EDD6    | 57: Unused
  140.     6EDDC    | 58: Unused
  141.     6EDE2    | 59: Unused
  142.     6EDE8    | 60: Unused
  143.     6EDEE    | 61: Unused
  144.     6EDF4    | 62: Unused
  145.     6EDFA    | 63: Unused
  146.  
  147.  
  148.